package br.com.viewcar.web.bean;

import java.util.ArrayList;
import java.util.List;
import javax.faces.model.SelectItem;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;
import br.com.viewcar.entity.Estado;
import br.com.viewcar.service.EstadoService;

@Scope("session")
@Component("estadoBean")
public class EstadoBean extends EntityBean<Integer, Estado> {

	@Autowired
	private EstadoService service;

	protected Integer retrieveEntityId(Estado entity) {

		return entity.getId();
	}

	protected EstadoService retrieveEntityService() {

		return this.service;
	}

	protected Estado createNewEntity() {

		return new Estado();
	}

	public List<SelectItem> getListaEstados() {

		List<SelectItem> result = new ArrayList<SelectItem>();

		List<Estado> estados = service.retrieveAll();

		for (Estado estado : estados) {

			result.add(new SelectItem(estado.getId(), estado.getNome()));
		}

		return result;
	}
}